Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

don't specialize Lisp vector underlying VECTOR/SLICE :A #1005

Merged
merged 3 commits into from
Oct 6, 2023

Conversation

stylewarning
Copy link
Member

We remove the type specialization of the VECTOR :A representation
because it provides no (or worse) speed benefit, and only sometimes
a space benefit. The space benefit is actually unpredictable from
the programmer's perspective (it's not obvious when an array will
specialize), and fragile (changing the vector type might change
the space performance).

Making this change is also beneficial because the user no longer
has to write "RuntimeRepr" every time they use vectors.

@stylewarning
Copy link
Member Author

stylewarning commented Oct 5, 2023

Still need to ensure I didn't break the tests... They don't work locally. fixed

We remove the type specialization of the VECTOR :A and SLICE :A
representation because it provides no (or worse) speed benefit, and
only sometimes a space benefit. The space benefit is actually
unpredictable from the programmer's perspective (it's not obvious when
an array will specialize), and fragile (changing the vector type might
change the space performance).

Making this change is also beneficial because the user no longer
has to write "RuntimeRepr" every time they use vectors.
@stylewarning stylewarning changed the title don't specialize Lisp vector underlying VECTOR :A don't specialize Lisp vector underlying VECTOR/SLICE :A Oct 6, 2023
@stylewarning stylewarning merged commit e3ba1c0 into main Oct 6, 2023
17 checks passed
@stylewarning stylewarning deleted the despec-vec branch October 6, 2023 00:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants